package com.wechatapp.mengyao.poetry.constants;

/**
 * @author yanghuaxu
 * @date 2025/8/19 15:14
 */
public enum PoetryCollection {
    TS("唐诗"),
    TSB("唐诗三百首"),
    YDTS("御定全唐诗"),
    SMTS("水墨唐诗"),
    SS("宋诗"),
    SC("宋词"),
    HJJ("花间集"),
    NTEZC("南唐二主词"),
    YQ("元曲"),
    SJ("诗经"),
    SSWJ("四书五经"),
    LY("论语"),
    NLXD("纳兰性德诗集"),
    MX("蒙学"),
    CCSJ("曹操诗集"),
    CC("楚辞"),
    YMY("幽梦影");

    private final String chineseName;

    /**
     * 枚举构造函数
     *
     * @param chineseName 数据集的中文全称
     */
    PoetryCollection(String chineseName) {
        this.chineseName = chineseName;
    }

    /**
     * 获取数据集的中文全称
     *
     * @return 中文名称
     */
    public String getChineseName() {
        return chineseName;
    }

    /**
     * 通过中文名称查找枚举（不区分大小写）
     *
     * @param name 中文名称
     * @return 对应的枚举项，未找到时返回null
     */
    public static PoetryCollection fromChineseName(String name) {
        for (PoetryCollection d : values()) {
            if (d.chineseName.equalsIgnoreCase(name)) {
                return d;
            }
        }
        return null;
    }

    public static String fromCode(String code) {
        for (PoetryCollection d : values()) {
            if (d.name().equalsIgnoreCase(code)) {
                return d.chineseName;
            }
        }
        return "";
    }

    @Override
    public String toString() {
        return name() + "(" + chineseName + ")";
    }
}
